Conflicts can occur when multiple users concurrently perform read or write transactions on a database. Database transaction management services can help manage locks to prevent data stored within the database from being corrupted or invalidated when multiple users try to read data within the database while other users write to the database. These type of transaction management services can help ensure that users can only modify data within the database that has an associated lock giving the user exclusive access to such data until the lock is released. Locking not only provides exclusivity to write transactions, but also can selectively allow reading of unfinished uncommitted data.
Conflicts amongst concurrent transactions becomes significantly more complex within distributed database computing environments. Conventional database transaction management services within such environments are tightly coupled with components amongst various nodes. In addition, these database transaction management services are a single monolithic code base and operate a single process. Due to the lack of software component isolation and abstraction, these database transaction management services do not provide sufficient flexibility to extend and evolve for more complex distributed database environments.